package com.it.schoolbookshop_back.service;

import com.it.schoolbookshop_back.entities.po.Category;

import java.util.List;

/**
 * 分类服务接口
 */
public interface CategoryService {
    
    /**
     * 获取所有分类
     * @return 分类列表
     */
    List<Category> getAllCategories();
    
    /**
     * 根据ID获取分类
     * @param id 分类ID
     * @return 分类对象
     */
    Category getCategoryById(Integer id);
    
    /**
     * 创建新分类
     * @param category 分类对象
     * @return 创建的分类ID，失败返回null
     */
    Integer createCategory(Category category);
    
    /**
     * 更新分类
     * @param category 分类对象
     * @return 是否成功
     */
    boolean updateCategory(Category category);
    
    /**
     * 删除分类
     * @param id 分类ID
     * @return 是否成功
     */
    boolean deleteCategory(Integer id);
    
    /**
     * 检查分类名称是否存在
     * @param name 分类名称
     * @return 是否存在
     */
    boolean isCategoryNameExists(String name);
    
    /**
     * 检查分类名称是否存在（排除指定ID）
     * @param name 分类名称
     * @param excludeId 要排除的分类ID
     * @return 是否存在
     */
    boolean isCategoryNameExists(String name, Integer excludeId);
} 